package com.wicket.okrrbff.biz.service;

import com.wicket.okrrbff.biz.service.dto.req.*;
import com.wicket.okrrbff.biz.service.dto.res.*;
import java.util.List;
import com.wicket.okrdataassets.integration.FwDataassetsAlbumClient;
import com.wicket.okrdataassets.integration.dto.QueryAlbumDetailComRespDto;
import com.wicket.okrdataassets.integration.dto.QueryAlbumDetailComReqDto;
import com.wicket.okrrbff.common.exception.Assert;
import com.wicket.okrdataassets.integration.dto.AddAlbumComRespDto;
import com.wicket.okrdataassets.integration.dto.AddAlbumComReqDto;
import com.wicket.okrdataassets.integration.dto.UpdateAlbumComRespDto;
import com.wicket.okrdataassets.integration.dto.UpdateAlbumComReqDto;
import com.wicket.okrdataassets.integration.FwDataassetsUnstructuredResourcesClient;
import com.wicket.okrdataassets.integration.dto.ImplementSubjectLifeCycleJudgeComRespDto;
import com.wicket.okrdataassets.integration.dto.ImplementSubjectLifeCycleJudgeComReqDto;
import com.wicket.okrdataassets.integration.dto.DeleteAlbumComRespDto;
import com.wicket.okrdataassets.integration.dto.DeleteAlbumComReqDto;
import com.wicket.okrdataassets.integration.dto.AddAlbumShareRecRespDto;
import com.wicket.okrdataassets.integration.dto.AddAlbumShareRecReqDto;
import com.wicket.okrdataassets.integration.dto.QueryPersonOrDeptAlbumListRespDto;
import com.wicket.okrdataassets.integration.dto.QueryPersonOrDeptAlbumListReqDto;
import com.wicket.okrdataassets.integration.dto.BatchQueryPersonOrDeptNameRespDto;
import com.wicket.okrdataassets.integration.dto.BatchQueryPersonOrDeptNameReqDto;

import java.util.Map;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import com.wicket.okrdataassets.integration.dto.UpdateAlbumFileRelationComRespDto;
import com.wicket.okrdataassets.integration.dto.UpdateAlbumFileRelationComReqDto;
import com.wicket.okrdataassets.integration.dto.QueryAlbumFileRelationDetailComRespDto;
import com.wicket.okrdataassets.integration.dto.QueryAlbumFileRelationDetailComReqDto;
import com.wicket.okrdataassets.integration.dto.QueryAlbumFileRelationListComRespDto;
import com.wicket.okrdataassets.integration.dto.QueryAlbumFileRelationListComReqDto;
import com.wicket.okrrbff.biz.service.dto.common.BffAlbumFileRelationDto;
import cn.hutool.core.bean.BeanUtil;
import com.wicket.okrdataassets.integration.dto.UpdateAlbumArchiveRespDto;
import com.wicket.okrdataassets.integration.dto.UpdateAlbumArchiveReqDto;
import com.wicket.okrdataassets.integration.dto.QueryRecycleListRespDto;
import com.wicket.okrdataassets.integration.dto.QueryRecycleListReqDto;
import com.wicket.okrrbff.biz.service.dto.common.BffRecycleDto;
import com.wicket.okrdataassets.integration.dto.RemoveFileOfAlbumRespDto;
import com.wicket.okrdataassets.integration.dto.RemoveFileOfAlbumReqDto;
import com.wicket.okrdataassets.integration.dto.DeleteFileOfAlbumComRespDto;
import com.wicket.okrdataassets.integration.dto.DeleteFileOfAlbumComReqDto;
import com.wicket.okrdataassets.integration.dto.BatchDeleteFileOfAlbumRespDto;
import com.wicket.okrdataassets.integration.dto.BatchDeleteFileOfAlbumReqDto;
import com.wicket.okrdataassets.integration.dto.AlbumFileRelationDto;
import com.wicket.okrdataassets.integration.dto.CopyAlbumRespDto;
import com.wicket.okrdataassets.integration.dto.CopyAlbumReqDto;
import com.wicket.okrdataassets.integration.dto.UpdateArchiveAlbumOperRespDto;
import com.wicket.okrdataassets.integration.dto.UpdateArchiveAlbumOperReqDto;
import com.wicket.okrdataassets.integration.dto.QueryDuplicateAlbumNameDetailComRespDto;
import com.wicket.okrdataassets.integration.dto.QueryDuplicateAlbumNameDetailComReqDto;
import com.wicket.okrrbff.common.exception.BizException;
import com.wicket.okrrbff.biz.service.dto.common.BffAlbumDto;
import com.wicket.okrdataassets.integration.dto.LoopAddAlbumFileRelationRespDto;
import com.wicket.okrdataassets.integration.dto.LoopAddAlbumFileRelationReqDto;
import com.wicket.okrdataassets.integration.dto.ResourceFileDto;
import com.wicket.okrrbff.common.util.CommonFunctionHelper;
import com.wicket.okrdataassets.integration.FwDataassetsResourceFileClient;
import com.wicket.okrdataassets.integration.dto.QueryResourceFileDetailComRespDto;
import com.wicket.okrdataassets.integration.dto.QueryResourceFileDetailComReqDto;
import com.wicket.okrdataassets.integration.dto.MoveFilesToSpecAlbumRespDto;
import com.wicket.okrdataassets.integration.dto.MoveFilesToSpecAlbumReqDto;
import com.wicket.okrdataassets.integration.dto.CopyFilesToSpecAlbumRespDto;
import com.wicket.okrdataassets.integration.dto.CopyFilesToSpecAlbumReqDto;
import com.wicket.okrdataassets.integration.dto.UpdateAlbumFilesRelationComRespDto;
import com.wicket.okrdataassets.integration.dto.UpdateAlbumFilesRelationComReqDto;
import com.wicket.okrdataassets.integration.dto.BatchArchiveAlbumFileRelationRespDto;
import com.wicket.okrdataassets.integration.dto.BatchArchiveAlbumFileRelationReqDto;
import com.wicket.okrdataassets.integration.dto.QueryFileOfAlbumDetailComRespDto;
import com.wicket.okrdataassets.integration.dto.QueryFileOfAlbumDetailComReqDto;
import com.wicket.okrdataassets.integration.dto.RemoveFileOfAlbumComRespDto;
import com.wicket.okrdataassets.integration.dto.RemoveFileOfAlbumComReqDto;
import com.wicket.okrdataassets.integration.dto.QueryResourceFileListComRespDto;
import com.wicket.okrdataassets.integration.dto.QueryResourceFileListComReqDto;
import com.wicket.okrdataassets.integration.dto.ImplementRecycleComRespDto;
import com.wicket.okrdataassets.integration.dto.ImplementRecycleComReqDto;
import com.wicket.okrdataassets.integration.dto.AnalysisResourceFileObjectNameComRespDto;
import com.wicket.okrdataassets.integration.dto.AnalysisResourceFileObjectNameComReqDto;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
public interface AlbumService {
/**
   * B8查询专辑详情
   */
    BffQueryAlbumDetailRespDto queryAlbumDetail(BffQueryAlbumDetailReqDto reqDto);
/**
   * B8新增专辑
   */
    BffAddAlbumRespDto addAlbum(BffAddAlbumReqDto reqDto);
/**
   * B8修改专辑
   */
    BffUpdateAlbumRespDto updateAlbum(BffUpdateAlbumReqDto reqDto);
/**
   * B8删除专辑
   */
    BffDeleteAlbumRespDto deleteAlbum(BffDeleteAlbumReqDto reqDto);
/**
   * B8新增专辑分享记录表
   */
    BffAddAlbumShareRecRespDto addAlbumShareRec(BffAddAlbumShareRecReqDto reqDto);
/**
   * B8查询专辑列表
   */
    BffQueryAlbumListRespDto queryAlbumList(BffQueryAlbumListReqDto reqDto);
/**
   * B8修改专辑文件别名
   */
    BffUpdateAlbumFileRelationRespDto updateAlbumFileRelation(BffUpdateAlbumFileRelationReqDto reqDto);
/**
   * B8查询专辑文件关系详情
   */
    BffQueryAlbumFileRelationDetailRespDto queryAlbumFileRelationDetail(BffQueryAlbumFileRelationDetailReqDto reqDto);

//    /**
//     * B8新增文件关系
//     */
//    Map<String,Object> addFileRelation(Map<String,Object> reqDto);
/**
   * B8查询专辑文件关系列表
   */
    BffQueryAlbumFileRelationListRespDto queryAlbumFileRelationList(BffQueryAlbumFileRelationListReqDto reqDto);

/**
   * B8查询回收站列表
   */
    BffQueryRecycleListRespDto queryRecycleList(BffQueryRecycleListReqDto reqDto);
/**
   * B8移除专辑下文件
   */
    BffRemoveFileOfAlbumRespDto removeFileOfAlbum(BffRemoveFileOfAlbumReqDto reqDto);
/**
   * B8删除专辑下文件
   */
    BffDeleteFileOfAlbumRespDto deleteFileOfAlbum(BffDeleteFileOfAlbumReqDto reqDto);
/**
   * B8批量删专辑下文件-清空回收站
   */
    BffBatchDeleteFileOfAlbumRespDto batchDeleteFileOfAlbum(BffBatchDeleteFileOfAlbumReqDto reqDto);
/**
   * B8复制专辑和专辑下文件
   */
    BffCopyAlbumRespDto copyAlbum(BffCopyAlbumReqDto reqDto);
/**
   * B2修改专辑存档操作
   */
    BffUpdateAlbumArchiveOperRespDto updateAlbumArchiveOper(BffUpdateAlbumArchiveOperReqDto reqDto);
/**
   * B8新增专辑文件关系
   */
    BffLoopAddAlbumFileRelationRespDto loopAddAlbumFileRelation(BffLoopAddAlbumFileRelationReqDto reqDto);
/**
   * B8移动文件到指定专辑
   */
    BffMoveFilesToSpecAlbumRespDto moveFilesToSpecAlbum(BffMoveFilesToSpecAlbumReqDto reqDto);
/**
   * B8复制文件到指定专辑
   */
    BffCopyFilesToSpecAlbumRespDto copyFilesToSpecAlbum(BffCopyFilesToSpecAlbumReqDto reqDto);
/**
   * B8批量移除专辑下文件
   */
    BffBatchRemoveAlbumFileRelationRespDto batchRemoveAlbumFileRelation(BffBatchRemoveAlbumFileRelationReqDto reqDto);
/**
   * B8批量存档专辑下文件
   */
    BffBatchArchiveAlbumFileRelationRespDto batchArchiveAlbumFileRelation(BffBatchArchiveAlbumFileRelationReqDto reqDto);
/**
   * B8执行丢回收站
   */
    BffImplementRecycleRespDto implementRecycle(BffImplementRecycleReqDto reqDto);
  //
}
